Electronic systems and circuits have made a significant contribution towards the advancement of modern society and are utilized in a number of applications to achieve advantageous results. Electronic technologies such as digital computers, calculators, audio devices, video equipment, and telephone systems have facilitated increased productivity and reduced costs in analyzing and communicating data, ideas and trends in most areas of business, science, education and entertainment. Electronic devices and systems designed to provide these results often have interfaces utilized to input information. One of the most common interfaces utilized for inputting information into an electronic system is a keypad. Traditional keypad devices typically provide a convenient input interface but are often susceptible to illicit interception of the input information.
As the name suggests, a keypad typically includes a number of keys or buttons that represent characters or a function (e.g., letters in the alphabet, numbers, punctuation characters, backspace, delete, page up, etc.). The keys are typically arranged in a matrix of columns and rows. Usually, each key corresponds to a switch which is activated by a physical manipulation of its corresponding key (e.g., pressing the key). The activation of a keypad switch is typically utilized to indicate the input of a character into the device or the input of an instruction. The user usually has to activate a number of keys in a particular sequence to complete the input of specific data.
FIG. 1A is a block diagram illustration of a typical keypad system 100 in which a keypad switch is located at each row and column intersection of the four by four switch matrix array 120. Switch matrix array 120 includes column pads 131 through 134 and row pads 151 through 154 and when a switch is activated it provides an electrical path between a row and column. Keypad scanner circuit 110 provides keypad scanner output signals and monitors keypad input signals. In traditional keypad systems, the scanner output signals are applied to the column pads and row pads as keypad driver signals. Resulting keypad signal changes on the rows or columns of keypad switch matrix 130 are fed back to keypad scanner circuit 110 as keypad scanner input signals. Traditional keypad systems are usually implemented with digital interfaces in which high and low voltage level signals are used at the interface with a “high voltage” signal (e.g., 5 volts) representing a logical one and a “low voltage” signal (e.g., zero volts) representing a logical zero. Standard keypad systems typically perform a keypad switch activation detection algorithm to determine if a key in a keypad matrix has been activated. The algorithm typically involves establishing a preliminary keypad state, detecting a keypad switch activation and determining which keypad switch is activated.
FIG. 1B is a state diagram for one exemplary traditional keypad system such as keypad system 100. Usually a default weak voltage (e.g., zero volts) signal at a particular logical value is applied to the rows of the keypad switch array and a strong voltage (e.g., 5 volts) signal is applied to each of the columns of the array. The keypad scanner then monitors the rows for a change in the applied signal. If all the rows have the logical value of the default weak voltage when the voltages on the rows of the array are read by the keypad scanner circuit, then no switch is closed and therefore no key is pressed. If a row has the logical value of a strong voltage, then a switch on that row is closed and the keypad system is in a wait state 150. To determine which of the switches on the row is closed, a similar algorithm is performed on the keypad matrix in key active state 170. A weak voltage (e.g., 5 volts) is applied to the columns of the array and a strong voltage (e.g., zero volts) to the rows of the array. When the resulting voltage values on the columns of the array are read by keypad scanner 110, the column with the strong voltage indicates the column of the closed switch. Keypad scanner 110 correlates the information indicating the row and the column of the closed switch to identify which key is pressed.
Traditionally, keypad systems apply one set of keypad driver signals (e.g., keypad scanner output signals) to the column pads and one set of keypad driver signals to the row pads. Each set of keypad driver signals forms a binary keypad driver word applied to the keypad switch matrix rows or columns and the logical value of each signal in a keypad driver word (e.g., keypad scanner output signals) is the same. For example, the logical value of each bit in a keypad driver word applied to the column pads of keypad switch matrix 120 is the same (e.g., a logical one) and the logical value of each bit in a keypad driver word applied to the row pads of keypad switch matrix 120 is the same (e.g., a logical zero).
Input information is often confidential and sensitive in nature. For example, passwords associated with a system for securing entrance into a location or access to information stored in an electronic device is often confidential. It is usually very important for the sensitive information to remain confidential, however, most systems have features that are vulnerable to illicit interception of information. Input devices such as keypad devices are often “unprotected” and traditional keypads have a number of characteristics that make them susceptible to unauthorized interception of input information. Traditional keypads are susceptible to visual attempts at compromising the security of confidential information. For example, someone can observe the key strokes as a user physically activates the keys on the keypad. Relatively good protection from visual interception of sensitive information is provided by screening the visual access of others to the keypad. One particularly troublesome and vulnerable characteristic of keypads is the emission of electromagnetic fields that result when a switch in a keypad matrix is activated. The nature of electromagnetic emissions makes it very difficult to protect against illicit interception and the limited number of different electromagnetic emission signatures a traditional keypad device exhibits makes interpretation of the emissions relatively easy.
Electromagnetic emissions from traditional keypad systems are easily intercepted by electromagnetic induction (EMI) techniques. Usually, each activated switch in a traditional keypad matrix produces unique electromagnetic emissions when a traditional keypad scanner is performing a keypad scan. Typically, it is relatively simple to detect changes in electromagnetic fields caused by keypresses and it is particularly easy to differentiate the keypress EMI signatures in a keypad interface in which the logical values of each signal included in a set of keypad driver signals (e.g., scanner output signals) is the same. Each keypad switch activation results in different electromagnetic emissions depending upon the value of the signals at the switch intersections of a row and column. However, since each signal included in a set of keypad driver signals (e.g., scanner output signals) is the same there are a limited number electromagnetic emission signatures making association of a particular key with a particular EMI reading much easier. Thus, intercepting sensitive key sequences on a traditional keypad is relatively simple and later playback of those sequences is also a simple process.
What is required is a system and method that increases the difficulty of interpreting electromagnetic emissions from a keypad system. The system and method should reduce the probability of illicit association of electromagnetic emissions with sensitive key sequences.